package com.wysql.ascost.model.info;

import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class InfoProjectbudgetCs implements Serializable {
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "ID")
    private String id;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date filedate;

    @ApiModelProperty(value = "工程类别（1基建类2业扩类）")
    private Integer type;

    @ApiModelProperty(value = "批次信息")
    private String batchnum;

    @ApiModelProperty(value = "工程编码")
    private String pronum;

    @ApiModelProperty(value = "工程名称 ")
    private String proname;

    @ApiModelProperty(value = "建筑工程费")
    private BigDecimal jzgcf;

    @ApiModelProperty(value = "安装工程费")
    private BigDecimal azgcf;

    @ApiModelProperty(value = "设备购置费")
    private BigDecimal sbgzf;

    @ApiModelProperty(value = "其他费")
    private BigDecimal qtf;

    @ApiModelProperty(value = "总投资")
    private BigDecimal total;

    @ApiModelProperty(value = "建设场地征用及清理费")
    private BigDecimal jscdzyjglf;

    @ApiModelProperty(value = "项目建设管理费")
    private BigDecimal xmjsglf;

    @ApiModelProperty(value = "项目管理经费")
    private BigDecimal xmgljf;

    @ApiModelProperty(value = "工程监理费")
    private BigDecimal gcjlf;

    @ApiModelProperty(value = "施工费")
    private BigDecimal sgf;

    @ApiModelProperty(value = "项目前期工作费")
    private BigDecimal xmqqgzf;

    @ApiModelProperty(value = "勘察费")
    private BigDecimal kcf;

    @ApiModelProperty(value = "设计费")
    private BigDecimal sjf;

    @ApiModelProperty(value = "设计文件评审费")
    private BigDecimal sjwjpsf;

    @ApiModelProperty(value = "项目后评价费")
    private BigDecimal xmhpjf;

    @ApiModelProperty(value = "建设期贷款利息")
    private BigDecimal jsqdklx;

    @ApiModelProperty(value = "工程保险费")
    private BigDecimal gcbxf;

    @ApiModelProperty(value = "施工过程造价咨询及竣工结算审核费")
    private BigDecimal jgjsshf;

    @ApiModelProperty(value = "生产准备费")
    private BigDecimal sczbf;

    @ApiModelProperty(value = "带电作业")
    private BigDecimal ddzyf;

    @ApiModelProperty(value = "甲供材合计（元）")
    private BigDecimal jgchjje;

    @ApiModelProperty(value = "工程类别（1导入2手动新增）")
    private Integer createtype;

    @ApiModelProperty(value = "是否入库（0否1是）")
    private Integer isconfirm;

    @ApiModelProperty(value = "工程书日期")
    private String bookdate;

    @ApiModelProperty(value = "导入文件名称")
    private String filename;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "入库确认时间")
    private Date confirmdate;

    @ApiModelProperty(value = "确认人员id")
    private String confirmuser;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "最后变更时间")
    private Date updatetime;

    @ApiModelProperty(value = "变更人员id")
    private String updateuser;

    //================补充字段===================
    @ApiModelProperty(value = "非电缆工程项目后评价费")
    private BigDecimal fdlgcxmhpjf;

    @ApiModelProperty(value = "电缆工程项目后评价费")
    private BigDecimal dlgcxmhpjf;

    @ApiModelProperty(value = "拆除工程费")
    private BigDecimal ccgcfhj;

    @ApiModelProperty(value = "甲供材")
    private BigDecimal jgchj;

    private String year;
    private Integer procount;
    private BigDecimal totalmoney;
    private Integer batchcount;
    private BigDecimal comparepercent;

    @ApiModelProperty(value = "环节")
    private String huanjie;



    public InfoProjectbudgetCs(String id,Date filedate,Integer type,String batchnum,String pronum,String proname,BigDecimal jzgcf,BigDecimal azgcf,BigDecimal sbgzf,BigDecimal qtf,BigDecimal total,BigDecimal jscdzyjglf,BigDecimal xmjsglf,BigDecimal xmgljf,BigDecimal gcjlf,BigDecimal sgf,BigDecimal xmqqgzf,BigDecimal kcf,BigDecimal sjf,BigDecimal sjwjpsf,BigDecimal xmhpjf,BigDecimal jsqdklx,BigDecimal gcbxf,BigDecimal jgjsshf,BigDecimal sczbf,BigDecimal ddzyf,BigDecimal jgchjje,Integer createtype,Integer isconfirm,String bookdate,String filename,Date confirmdate,String confirmuser,Date updatetime,String updateuser){

        this.id = id;

        this.filedate = filedate;

        this.type = type;

        this.batchnum = batchnum;

        this.pronum = pronum;

        this.proname = proname;

        this.jzgcf = jzgcf;

        this.azgcf = azgcf;

        this.sbgzf = sbgzf;

        this.qtf = qtf;

        this.total = total;

        this.jscdzyjglf = jscdzyjglf;

        this.xmjsglf = xmjsglf;

        this.xmgljf = xmgljf;

        this.gcjlf = gcjlf;

        this.sgf = sgf;

        this.xmqqgzf = xmqqgzf;

        this.kcf = kcf;

        this.sjf = sjf;

        this.sjwjpsf = sjwjpsf;

        this.xmhpjf = xmhpjf;

        this.jsqdklx = jsqdklx;

        this.gcbxf = gcbxf;

        this.jgjsshf = jgjsshf;

        this.sczbf = sczbf;

        this.ddzyf = ddzyf;

        this.jgchjje = jgchjje;

        this.createtype = createtype;

        this.isconfirm = isconfirm;

        this.bookdate = bookdate;

        this.filename = filename;

        this.confirmdate = confirmdate;

        this.confirmuser = confirmuser;

        this.updatetime = updatetime;

        this.updateuser = updateuser;

    }

    public InfoProjectbudgetCs() {
        super();
    }

    public String dateToStringConvert(Date date) {
        if (date != null) {
            return DateUtil.format(date, "yyyy-MM-dd HH:mm:ss");
        }
        return "";
    }


}